package com.agritech.command;

/**
 * 命令接口
 * 命令模式：将一个请求封装为一个对象，从而使你可用不同的请求对客户进行参数化；
 * 对请求排队或记录请求日志，以及支持可撤销的操作。
 */
public interface Command {
    /**
     * 执行命令
     */
    void execute();
    
    /**
     * 撤销命令（可选实现）
     */
    void undo(); // 可选的撤销操作
    
    /**
     * 获取命令描述
     * @return 命令描述
     */
    String getDescription();
}